package com.csun.cmny.provider.dao;

import com.csun.cmny.provider.model.domain.DmcPropertyManagement;
import com.csun.cmny.provider.model.dto.propertyManagement.DeviceDeliveryDto;
import com.csun.cmny.provider.model.dto.propertyManagement.ProperManagementSelectDto;
import com.csun.cmny.provider.model.dto.propertyManagement.SelectDeviceDataDto;
import com.csun.cmny.provider.model.vo.propertyManagement.PropertyDataVo;
import com.csun.cmny.provider.model.vo.propertyManagement.PropertyManagementDeviceVo;
import com.csun.cmny.provider.model.vo.propertyManagement.PropertyManagementStausVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.Date;
import java.util.List;

public interface DmcPropertyManagementMapper extends Mapper<DmcPropertyManagement> {
    int saves(@Param("propertyManagements") List<DmcPropertyManagement> propertyManagements);

    List<PropertyManagementDeviceVo> selectQuery(ProperManagementSelectDto properManagementSelectDto);

    int deleteManagements(@Param("deviceIds") List<Long> deviceIds);

    List<PropertyDataVo> selectDeviceData(SelectDeviceDataDto selectDeviceDataDto);

    List<DmcPropertyManagement> selectByIds(@Param("ids") List<Long> ids);

    int delivery(@Param("deviceDeliveryDto") DeviceDeliveryDto deviceDeliveryDto,@Param("date") Date date);

    List<PropertyManagementStausVo> selectactivateBydiveceIds(@Param("deviceIds") List<Long> deviceIds);

    int sendBack(@Param("deviceIds")List<Long> deviceIds);
}
